﻿using System;
using System.Collections.Generic;
using System.Text;

namespace EventBus.Abstractions
{
    public abstract class AbstractEventBus
        : IEventBus
    {
        private readonly IEventHandlerExecutionContext _ctx;
        public AbstractEventBus(IEventHandlerExecutionContext ctx)
        {
            _ctx = ctx;
        }
        public abstract void Publish<TEvent>(TEvent @event) where TEvent : IEvent;



        public abstract void Subscribe<TEvent, TEventHandler>(TEvent @event, TEventHandler eventHandler)
            where TEvent : IEvent
            where TEventHandler : IEventHandler;
      
    }
}
